package com.zsz.ba02;

import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;

/**
 * @Aspect:是aspectj框架中的注解。
 *
 *   作用：表示当前类是切面类。
 *   切面类是用来给业务方法增加功能的类，在这个类中有切面的功能代码
 *   位置：在类定义的上面
 */

@Aspect
public class MyAspect {


//  后置通知定义方法

    /**
     * @AfterReturning:后置通知
     *    属性：1.value 切入点表达式
     *         2.returning 自定义的变量，表示目标方法的返回值的。
     *         自定义变量名必须和通知方法的形参名一样。
     *
     *
     */
    @AfterReturning(value = "execution(* *..SomeServiceImpl.doOther(..))",returning = "res")
    public void myAfterReturning (Object res){
        //Object res:是目标方法执行后的返回值，根据返回值做你的切面的功能处理
        System.out.println("后置通知：在目标方法之后执行的，获取的返回值是："+res);

}




}
